import Mock from "mockjs";
import { Random } from "mockjs";
import video1 from '../assets/video/screen-capture.webm'
import aiicon from '../assets/home/aiicon.png'
import commerce from '../assets/home/commerce.jpg'
import huawei from '../assets/home/huawei.jpg'
import llm from '../assets/home/llm.jpg'
import qianrushi from '../assets/home/qianrushi.jpg'
import java from '../assets/home/category/java.png'
import quanzhan from '../assets/home/category/quanzhan.png'
import sql from '../assets/home/category/course1.png'
import sql2 from '../assets/home/category/course2.png'
import banner1 from '../assets/home/category/banner1.jpg'
import banner2 from '../assets/home/category/banner2.jpg'
import banner3 from '../assets/home/category/banner3.jpg'

//首页
//生成数据
const { courseList } = Mock.mock({
    'courseList|8': [
        {
            'coursename': '@ctitle(10,20)',//课程名称
            courseid: 'courseid-' + '@guid',//课程id
            courseurl: video1,//课程url
            // courseurl:"https://vod.300hu.com/vod/product/90f8f9da-08dc-43c8-8205-bbdb60cb9fad/1091_c7db5e75f_f.mp4?source=1&h265=1092h_e1c47f736_f.mp4",//课程url
            courseimg: "@image('200x100', '#4A7BF7', 'Hello')",
            'courseteacher': '在线课堂' + '@name',//课程主讲人
            'category|1': ['出国留学', 'it-设计', '考研-考证', '英语-语言', '自媒体', '精品课', '音乐-唱歌', '绘画-兴趣'],//课程分类
            "ishot": Random.boolean(),//是否热门视频
            "islatest": Random.boolean(),//是否最新上传视频
            "grade|0-5": 2,//课程评分 1-5
            "stars|1-5": '★',//星星 1-5
            "playercount|1-9999": 666,//播放量
        }
    ]
})
//生成接口 
//获取课程列表
Mock.mock('/api/getCourseList', 'post', (config) => {
    // console.log(1, config.body);
    return {
        code: 200,
        mesasge: '获取课程列表数据成功',
        data: {
            courseList: courseList,
            length: courseList.length
        }
    }
})
//获取分类列表
const { categoryList } = Mock.mock({
    categoryList: [
        {
            categoryTitle: '考研-考证',//课程分类
            categoryImg: aiicon,
        },
        {
            categoryTitle: '出国留学',
            categoryImg: commerce
        },
        {
            categoryTitle: 'it-设计',
            categoryImg: huawei
        },

        {
            categoryTitle: '英语-语言',
            categoryImg: llm
        },
        {
            categoryTitle: '自媒体',
            categoryImg: qianrushi
        },
        {
            categoryTitle: '精品课',
            categoryImg: aiicon
        },
        {
            categoryTitle: '音乐-唱歌',
            categoryImg: commerce
        },
        {
            categoryTitle: '绘画-兴趣',
            categoryImg: huawei
        },
    ]
})
//获取分类列表
Mock.mock('/api/getCategoryList', 'post', (config) => {
    // console.log(11, config.body);
    return {
        code: 200,
        mesasge: '获取分类列表数据成功',
        data: {
            categoryList: categoryList,
            length: categoryList.length
        }
    }
})
//热门类别
const { hotCategoryList } = Mock.mock({
    hotCategoryList: [
        {
            categoryTitle: '全栈开发',//课程分类
            categoryImg: quanzhan,
        },
        {
            categoryTitle: 'java后端',
            categoryImg: java
        },

    ]
})
Mock.mock('/api/gethotCategoryList', 'post', (config) => {
    // console.log(111, config.body);
    return {
        code: 200,
        mesasge: '获取热门类别列表数据成功',
        data: {
            hotCategoryList: hotCategoryList,
            length: hotCategoryList.length
        }
    }
})
//热门课程
const { hotCourseList } = Mock.mock({
    'hotCourseList|100': [
        {
            id: '@increment',
            'courseTitle|1':[ '基础入门-数据库实战教程','适合最新的初学者的现代空间设计'],//课程分类
            "courseImg|1": [sql,sql2],
            "courseteacher|1": ['在线课堂--张老师', '在线课堂--koko'],
            "grade|0-5": 2,//课程评分 1-5
            "stars|1-5": '★',//星星 1-5
            "playercount|1-9999": 666,//播放量
            "coursetopic|1":[ '深入探讨如何将 AI 技术与 Go 应用快速融合，助力 GO 工程师轻松提升 GO+AI 项目实战经验!','深入探讨如何将 AI 技术与 Go 应用快速融合，助力 GO 工程师轻松提升 GO+AI 项目实战经验!'],
            courseDes: '在职开发者，想不想拥有一套10倍+提升面试效能的AI面试训练系统？即将踏入开发岗的应届生，想不想拥有出色的毕设项目？AI数字人面试系统就是你的不二之选。课程融合Springboot与ChatGLM，打造一款个性化面试训练平台。可自定义考题，答题分析，精准反馈与即时查漏补缺。课程不仅传授主流后端技术与AI开发通用流程，还支持个性化开发，如：智能对话、问答系统等，让你成为数字人开发领域的卓越开发者。',
            coursePoint: ' 课程的核心是基于go结合大模型开发相关的AI应用产品为主，包含AI如何调用系统业务如何基于AI定制功能，但模型训练并不在本次课程内容中，课程的扩展有讲关于如何在本地部署大模型以及使用也有讲如何基于langchain扩展对其他模型的支持。',
            "stucount|1-9999": 666,//学员数量
        },
        // {
        //     id: '@increment',
        //     courseTitle: '适合最新的初学者的现代空间设计',
        //     courseImg: sql2,
        //     courseteacher: '在线课堂--koko',
        //     "grade|0-5": 2,//课程评分 1-5
        //     "stars|1-5": '★',//星星 1-5
        //     "playercount|1-9999": 666,//播放量
        //     coursetopic: '深入探讨如何将 AI 技术与 Go 应用快速融合，助力 GO 工程师轻松提升 GO+AI 项目实战经验!',
        //     coursePoint: '4 个高频全流程多领域项目实 ',
        //     "stucount|1-9999": 666,//学员数量
        // },

    ]
})
Mock.mock('/api/gethotCourseList', 'post', (config) => {
    // console.log(1111, config.body);
    return {
        code: 200,
        mesasge: '获取热门课程列表数据成功',
        data: {
            hotCourseList: hotCourseList,
            length: hotCourseList.length
        }
    }
})
//示例接口：获取课程详情
Mock.mock('/api/getCourseDetail', 'post', (config) => {
    const { id } = JSON.parse(config.body);
    return {
        code: 200,
        message: '获取课程详情成功',
        data: {
            id: id,
            courseTitle: '基础入门-数据库实战教程',
            courseteacher: '张老师',
            courseImg: 'url_to_image',
            description: '这是一门数据库实战课程。',
            // 其他课程详情
        }
    };
});
//热门老师
import person1 from '../assets/home/category/person1.png'
import person2 from '../assets/home/category/person2.png'

const { hotTeacherList } = Mock.mock({
    hotTeacherList: [
        {
            personImg: person1,
            courseteacher: '在线课堂--张老师',
            professional: '软件工程师'
        },
        {

            personImg: person2,
            courseteacher: '在线课堂--koko',
            professional: '首席设计师'
        },

    ]
})
Mock.mock('/api/gethotTeacherList', 'post', (config) => {
    // console.log(1111, config.body);
    return {
        code: 200,
        mesasge: '获取热门老师列表数据成功',
        data: {
            hotTeacherList: hotTeacherList,
            length: hotTeacherList.length
        }
    }
})
//详情数据


//详情列表页面
const { tabList } = Mock.mock({
    tabList: [
        {
            tab: '简介',
            path: '/home'
        },
        {
            tab: '课程',
            path: '/home/coursedetalCourse'
        },
    ]
})
Mock.mock('/api/gettabList', 'post', (config) => {
    // console.log(11111, config.body);
    return {
        code: 200,
        mesasge: '获取详情页标签列表数据成功',
        data: {
            tabList: tabList,
            length: tabList.length
        }
    }
})
//本月热门老师+++我的  关注 老师列表
const { hotTeacherMonthList } = Mock.mock({
    'hotTeacherMonthList|8': [
        {
            'icon|1': [icon1, icon2, icon3, icon4, icon5, icon6, icon7],
            'name': '@cname(2,4)',
            'city': 'IP归属地:' + '@province',
            id: '@increment',
        },

    ]
})
Mock.mock('/api/gethotTeacherMonthList', 'post', (config) => {
    // console.log(11111, config.body);
    return {
        code: 200,
        mesasge: '获取本月热门老师列表数据成功',
        data: {
            hotTeacherMonthList: hotTeacherMonthList,
            length: hotTeacherMonthList.length
        }
    }
})
////学员名单列表
import icon1 from '../assets/home/detail/icon1.png'
import icon2 from '../assets/home/detail/icon2.png'
import icon3 from '../assets/home/detail/icon3.png'
import icon4 from '../assets/home/detail/icon4.png'
import icon5 from '../assets/home/detail/icon5.png'
import icon6 from '../assets/home/detail/icon6.png'
import icon7 from '../assets/home/detail/icon7.png'

const { studentList } = Mock.mock({
    'studentList|3': [
        {
            'icon|1': [icon1, icon2, icon3, icon4, icon5, icon6, icon7],
            'name': '@cname(2,4)',
            'commentTime': '@integer(1,59)' + '分钟前',
            'description|1': ['学习云计算架构的设计原则与实践，掌握AWS、Azure等云平台的使用。', '代码优化的过程是漫长的，但只要坚持，就能看到成效。', '学习前端框架时，不仅要理解其原理，更要学会灵活运用。', '面对bug时，不要急于寻找解决方法，冷静思考是解决问题的关键。'],
        },

    ]
})
// 生成并输出100条与 IT 开发学习感悟相关的文字
// const experiences = studentList;
Mock.mock('/api/getstudentList', 'post', (config) => {
    // console.log('student', config.body);
    return {
        code: 200,
        mesasge: '获取学员名单列表数据成功',
        data: {
            studentList: studentList,
            length: studentList.length
        }
    }
})
//详情的课程图片
const { detailcouresepicList } = Mock.mock({
    'detailcouresepicList|8': [
        {
            'icon|1': [banner1, banner2, banner3],
            'title|1': ['字节3-1大佬直播【ESLint 前端编码规范化与原理剖析，特邀字节大佬分享团队代码质量把控细节】',
                'Python3入门人工智能，掌握机器学习+深度学习',
                'K8s从基础入门到生产落地成长路线',
                '对标大厂岗位需求，从音视频基础入门、处理核心技术到服务器设计开发 ，全面培养5G时代人才。',
            ],
            'lesson': 'Lesson' + '@integer(1,12)',
            'description|1':[
                 '掌握 AI+ GO 高效开发新范式掌握专为 Go 设计的 AI 框架具备AI提效项目开发落地经验提升 AIGC 应用及开发能力增强 AI 高效编程与调思维提升LLM应用及解决问题能力',
                '传统机器学习+深度学习+迁移学习+经典案例+核心工具，多维度走进人工智能',
                '8s系统性入门到深入原理，以及生产落地实践，充分运用K8s特性进行云原生微服务领域开发，并掌握云原生底层的开发技术。',
                '一站式掌握FFmpeg音视频渲染，不依赖第三方SDK的播放器开发等核心技术，助你成为一个高效、高薪的音视频工程师。',
            ],
        },

    ]
})
// 生成并输出100条与 IT 开发学习感悟相关的文字
// const experiences = studentList;
Mock.mock('/api/getdetailcouresepicList', 'post', (config) => {
    // console.log('detailcouresepicList', config.body);
    return {
        code: 200,
        mesasge: '获取学员名单列表数据成功',
        data: {
            detailcouresepicList: detailcouresepicList,
            length: detailcouresepicList.length
        }
    }
})

//登陆注册页面
//验证码
const { sendCode } = Mock.mock({
    // sendCode: { code: '1111' }
    sendCode: { 
        'code|1000-9999': 6666

     }
})
Mock.mock('/api/sendcode', 'post', (config) => {
    // console.log(9999,config.body)
    return {
        code: 200,
        mesasge: '发送验证码成功',
        data: sendCode
    }
})
//登录接口

let currentUserid = 1;  // 初始化一个变量，保存递增的用户ID
const { loginApi } = Mock.mock({
    loginApi: {
        code: '1111',
        token: Mock.Random.string('abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789', 32),
        userid() {
            return currentUserid++
        },
        userpsw:'',

    }
})
Mock.mock('/api/login', 'post', (config) => {
    console.log(9999, config.body)
    return {
        code: 200,
        mesasge: '登录成功',
        data: {
            loginApi: loginApi,

        }
    }
})
// const {updatepsw}=Mock.mock({
//     updatepsw:{ 
//         code:'1111',
//         token: Mock.Random.string('abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789', 32),
//         userid(){
//             return currentUserid++
//         },
//         userpsw:userpsw,

//     }         
// })
//修改密码
// Mock.mock('/api/updatepsw','post',(config)=>{
//     console.log('updatePsw',config.body)
//     return{
//         code:200,
//         message:'修改密码成功',
//         data:{
//             updatepsw:updatepsw,
//         }
//     }
// })

// Mock 模拟接口，假设返回数据格式为：
Mock.mock('/api/updatePswFn', 'post', (config) => {
    console.log('updatePsw', config.body); // 输出请求的请求体，便于调试

    // 模拟返回修改密码成功后的数据
    return {
        code: 200,
        message: '修改密码成功',
        data: {
            updatepsw: {
                code: '1111',
                token: Mock.Random.string('abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789', 32),
                userid: currentUserid++,  // 假设 currentUserid 是全局自增的
                userpsw: config.body.userpsw,  // 返回修改后的密码
            }
        }
    }
});
